[INFO] fetching crate offroad 0.5.7...
[INFO] testing offroad-0.5.7 against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] extracting crate offroad 0.5.7 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate offroad 0.5.7
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate offroad 0.5.7
[INFO] tweaked toml for crates.io crate offroad 0.5.7 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate offroad 0.5.7 on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate offroad 0.5.7 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded aabb v0.7.0
[INFO] [stderr]   Downloaded togo v0.7.1
[INFO] [stderr]   Downloaded robust v1.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dc670f2807a687edfc8059024935ac7b53ae1f45e42bb0447067c4858a08ed83
[INFO] running `Command { std: "docker" "start" "-a" "dc670f2807a687edfc8059024935ac7b53ae1f45e42bb0447067c4858a08ed83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dc670f2807a687edfc8059024935ac7b53ae1f45e42bb0447067c4858a08ed83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dc670f2807a687edfc8059024935ac7b53ae1f45e42bb0447067c4858a08ed83", kill_on_drop: false }`
[INFO] [stdout] dc670f2807a687edfc8059024935ac7b53ae1f45e42bb0447067c4858a08ed83
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ab2b882388377124c8f90814417570141f5f66861f53936f994e59c74a8ea985
[INFO] running `Command { std: "docker" "start" "-a" "ab2b882388377124c8f90814417570141f5f66861f53936f994e59c74a8ea985", kill_on_drop: false }`
[INFO] [stderr]    Compiling aabb v0.7.0
[INFO] [stderr]    Compiling robust v1.2.0
[INFO] [stderr]    Compiling togo v0.7.1
[INFO] [stderr]    Compiling offroad v0.5.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.83s
[INFO] running `Command { std: "docker" "inspect" "ab2b882388377124c8f90814417570141f5f66861f53936f994e59c74a8ea985", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab2b882388377124c8f90814417570141f5f66861f53936f994e59c74a8ea985", kill_on_drop: false }`
[INFO] [stdout] ab2b882388377124c8f90814417570141f5f66861f53936f994e59c74a8ea985
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e367c7387b22389ce7f0a3786a478d03c494ac85b114ca5093d5ee256ea1bc45
[INFO] running `Command { std: "docker" "start" "-a" "e367c7387b22389ce7f0a3786a478d03c494ac85b114ca5093d5ee256ea1bc45", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling offroad v0.5.7 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `offset_polyline_to_polyline` and `pline_01`
[INFO] [stdout]  --> examples/offset_multi200.rs:2:60
[INFO] [stdout]   |
[INFO] [stdout] 2 | use offroad::{offset::offset_arcline_to_arcline, prelude::{offset_polyline_to_polyline, pline_01, OffsetCfg}};
[INFO] [stdout]   |                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> examples/offset_multi200.rs:18:60
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let offset = offset_arcline_to_arcline(&arcs_orig, (i as f64), &mut cfg);
[INFO] [stdout]    |                                                            ^        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 18 -         let offset = offset_arcline_to_arcline(&arcs_orig, (i as f64), &mut cfg);
[INFO] [stdout] 18 +         let offset = offset_arcline_to_arcline(&arcs_orig, i as f64 , &mut cfg);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> examples/offset_multi200.rs:26:63
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let offset = offset_arcline_to_arcline(&arcs_reverse, (i as f64), &mut cfg);
[INFO] [stdout]    |                                                               ^        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         let offset = offset_arcline_to_arcline(&arcs_reverse, (i as f64), &mut cfg);
[INFO] [stdout] 26 +         let offset = offset_arcline_to_arcline(&arcs_reverse, i as f64 , &mut cfg);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.03s
[INFO] running `Command { std: "docker" "inspect" "e367c7387b22389ce7f0a3786a478d03c494ac85b114ca5093d5ee256ea1bc45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e367c7387b22389ce7f0a3786a478d03c494ac85b114ca5093d5ee256ea1bc45", kill_on_drop: false }`
[INFO] [stdout] e367c7387b22389ce7f0a3786a478d03c494ac85b114ca5093d5ee256ea1bc45
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6028da9e2ce7f60679875cd42f7f74b2b5150c42440a38bcc739cee233d2e774
[INFO] running `Command { std: "docker" "start" "-a" "6028da9e2ce7f60679875cd42f7f74b2b5150c42440a38bcc739cee233d2e774", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `offset_polyline_to_polyline` and `pline_01`
[INFO] [stderr]  --> examples/offset_multi200.rs:2:60
[INFO] [stderr]   |
[INFO] [stderr] 2 | use offroad::{offset::offset_arcline_to_arcline, prelude::{offset_polyline_to_polyline, pline_01, OffsetCfg}};
[INFO] [stderr]   |                                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> examples/offset_multi200.rs:18:60
[INFO] [stderr]    |
[INFO] [stderr] 18 |         let offset = offset_arcline_to_arcline(&arcs_orig, (i as f64), &mut cfg);
[INFO] [stderr]    |                                                            ^        ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 18 -         let offset = offset_arcline_to_arcline(&arcs_orig, (i as f64), &mut cfg);
[INFO] [stderr] 18 +         let offset = offset_arcline_to_arcline(&arcs_orig, i as f64 , &mut cfg);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> examples/offset_multi200.rs:26:63
[INFO] [stderr]    |
[INFO] [stderr] 26 |         let offset = offset_arcline_to_arcline(&arcs_reverse, (i as f64), &mut cfg);
[INFO] [stderr]    |                                                               ^        ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 26 -         let offset = offset_arcline_to_arcline(&arcs_reverse, (i as f64), &mut cfg);
[INFO] [stderr] 26 +         let offset = offset_arcline_to_arcline(&arcs_reverse, i as f64 , &mut cfg);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `offroad` (example "offset_multi200") generated 3 warnings (run `cargo fix --example "offset_multi200" -p offroad` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/offroad-442cd251b771ac70)
[INFO] [stdout] 
[INFO] [stdout] running 133 tests
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_arc_large_radius ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_arc_direction_at_vertex_with_tangents ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_arc_full_circle ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_empty_input ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_arc_two_circles ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_arc_semicircle ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_line_simple_triangle ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_line_square ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_merge_tiny_gaps_1e_9 ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_degenerate_zero_radius_arc ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_mixed_complex_shape ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_mixed_coordinate_quadrants ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_arc_small_radius ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_many_segment_polygon ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_mixed_square_alternating_arcs_and_lines ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_line_pentagon ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_mixed_square_with_one_arc ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_negative_coordinate_arcs ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_no_merge_large_gaps ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_line_two_separate_triangles ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_single_arc ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_spiral_like_pattern ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_three_circles_cascade ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_two_arcs_not_connected ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_vertex_degree_2_simple_path ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_vertex_degree_4_cross_intersection ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::integration_tests::test_integration_circular_arcs_with_gaps ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::integration_tests::test_integration_disconnected_arcs_before_merge ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::integration_tests::test_integration_multiple_cycles_with_merging ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::integration_tests::test_integration_small_arcs_elimination ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::integration_tests::test_integration_square_with_close_endpoints ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_build_graph ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_double_edges ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_complex_graph_with_branches ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_choose_rightmost_edge ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_empty_input ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_figure_eight ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_mixed_arc_types ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_multiple_separate_cycles ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_vertex_degree_3_t_intersection ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_simple_triangle ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_simple_square ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_single_arc ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_vertex_merging ... ok
[INFO] [stdout] test graph::find_cycles::test_find_cycles_basic::test_x_intersection ... ok
[INFO] [stdout] test graph::find_cycles_tangent_tests_simple::basic_tangent_tests::test_arc_vs_line_segment_cycle ... ok
[INFO] [stdout] test graph::find_cycles_tangent_tests_simple::basic_tangent_tests::test_multiple_arcs_radiating_from_vertex ... ok
[INFO] [stdout] test graph::find_cycles_tangent_tests_simple::basic_tangent_tests::test_line_segments_only_still_work ... ok
[INFO] [stdout] test graph::find_cycles_tangent_tests_simple::basic_tangent_tests::test_semicircle_cycle ... ok
[INFO] [stdout] test graph::find_cycles_tangent_tests_simple::basic_tangent_tests::test_simple_arc_tangent_calculation ... ok
[INFO] [stdout] test graph::find_cycles_tangent_tests_simple::basic_tangent_tests::test_tangent_based_rightmost_selection ... ok
[INFO] [stdout] test graph::find_cycles_tangent_tests_simple::regression_tests::test_complex_intersection_still_works ... ok
[INFO] [stdout] test graph::find_cycles_tangent_tests_simple::regression_tests::test_original_functionality_preserved ... ok
[INFO] [stdout] test graph::find_cycles_tangent_tests_simple::regression_tests::test_premature_edge_marking_fix ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_centroid_calculation ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_chain_of_connections ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_arc_types_mixed ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_complex_star_pattern ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_edge_case_same_point_exactly ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_eliminate_small_arc ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_eliminate_small_line_segment ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_four_arcs_common_point ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_merge_close_endpoints_simple ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_merge_endpoints_diagnostic ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_multiple_point_group ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_multiple_separate_groups ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_no_merge_needed ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_small_arc_elimination_in_group ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_tolerance_boundary ... ok
[INFO] [stdout] test graph::merge_ends::tests::test_very_small_arcs_elimination ... ok
[INFO] [stdout] test offset::test_arcs_to_polylines::test_arcs_to_polylines_single_empty ... ok
[INFO] [stdout] test offset::test_arcs_to_polylines::test_arcs_to_polylines_single_simple_loop ... ok
[INFO] [stdout] test offset::test_offset::test_offset_complex_line_bug ... ignored, svg output
[INFO] [stdout] test offset::test_offset::test_offset_complex_line_bug_2 ... ignored, svg output
[INFO] [stdout] test offset::test_arcs_to_polylines::test_arcs_to_polylines_single_single_arc ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_arc_from_bulge_plinearc_svg ... ignored, svg output
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_arc_offset_collapsed_arc ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_arc_offset_direction_consistency ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_arc_offset_negative_bulge_right_side ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_arc_offset_positive_bulge_right_side ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_arcline_bulge_always_positive ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_display_01 ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_display_02 ... ok
[INFO] [stdout] <svg viewBox="0 0 400 600" xmlns="http://www.w3.org/2000/svg" fill="none" stroke-width="0.2" stroke-linecap="round">
[INFO] [stdout] <rect width="100%" height="100%" fill="#ffffffff" />
[INFO] [stdout] 
[INFO] [stdout] <path d="M 100 500 A 32.5 32.5 0 1 0 100 440" stroke="grey" id="1194"/>
[INFO] [stdout] <line x1="100" y1="440" x2="120" y2="400" stroke="grey" id="2009"/>
[INFO] [stdout] <line x1="120" y1="400" x2="128" y2="408" stroke="grey" id="2010"/>
[INFO] [stdout] <line x1="128" y1="408" x2="128" y2="395" stroke="grey" id="2011"/>
[INFO] [stdout] <line x1="128" y1="395" x2="136" y2="403" stroke="grey" id="2012"/>
[INFO] [stdout] <line x1="136" y1="403" x2="136" y2="355" stroke="grey" id="2013"/>
[INFO] [stdout] <path d="M 131 350 A 3.5355339059327378 3.5355339059327378 0 0 0 136 355" stroke="grey" id="1195"/>
[INFO] [stdout] <line x1="131" y1="350" x2="110" y2="350" stroke="grey" id="2014"/>
[INFO] [stdout] <path d="M 78 350 A 16 16 0 0 0 110 350" stroke="grey" id="1196"/>
[INFO] [stdout] <line x1="78" y1="350" x2="50" y2="350" stroke="grey" id="2015"/>
[INFO] [stdout] <path d="M 38 350 A 6 6 0 0 0 50 350" stroke="grey" id="1197"/>
[INFO] [stdout] <line x1="38" y1="350" x2="0.001" y2="350" stroke="grey" id="2016"/>
[INFO] [stdout] <path d="M 0.001 350 A 25.000000002500002 25.000000002500002 0 1 0 0 350" stroke="grey" id="1198"/>
[INFO] [stdout] <line x1="0" y1="350" x2="-52" y2="350" stroke="grey" id="2017"/>
[INFO] [stdout] <line x1="-52" y1="350" x2="-23.429621235520095" y2="395.11681303263754" stroke="grey" id="2018"/>
[INFO] [stdout] <path d="M 82 450 A 66.99999999999999 66.99999999999999 0 0 0 -23.429621235520095 395.11681303263754" stroke="grey" id="1199"/>
[INFO] [stdout] <line x1="82" y1="450" x2="50" y2="450" stroke="grey" id="2019"/>
[INFO] [stdout] <path d="M 50 450 A 35 35 0 0 0 -20 450" stroke="grey" id="1200"/>
[INFO] [stdout] <line x1="-20" y1="450" x2="0" y2="500" stroke="grey" id="2020"/>
[INFO] [stdout] <line x1="0" y1="500" x2="100" y2="500" stroke="grey" id="2021"/>
[INFO] [stdout] <path d="M 93.84615384615384 514.7692307692307 A 48.5 48.5 0 1 0 93.84615384615384 425.2307692307692" stroke="red" id="1201"/>
[INFO] [stdout] <line x1="114.31083505599865" y1="447.15541752799936" x2="134.31083505599867" y2="407.15541752799936" stroke="red" id="2022"/>
[INFO] [stdout] <line x1="108.68629150101523" y1="411.31370849898474" x2="116.68629150101523" y2="419.31370849898474" stroke="red" id="2023"/>
[INFO] [stdout] <line x1="144" y1="408" x2="144" y2="395" stroke="red" id="2024"/>
[INFO] [stdout] <line x1="116.68629150101523" y1="406.31370849898474" x2="124.68629150101523" y2="414.31370849898474" stroke="red" id="2025"/>
[INFO] [stdout] <line x1="152" y1="403" x2="152" y2="355" stroke="red" id="2026"/>
[INFO] [stdout] <line x1="124.68629150101523" y1="343.68629150101526" x2="142.31370849898477" y2="361.31370849898474" stroke="red" id="2027"/>
[INFO] [stdout] <line x1="131" y1="334" x2="110" y2="334" stroke="red" id="2028"/>
[INFO] [stdout] <line x1="94" y1="350" x2="94" y2="350" stroke="red" id="2029"/>
[INFO] [stdout] <line x1="78" y1="334" x2="50" y2="334" stroke="red" id="2030"/>
[INFO] [stdout] <line x1="34" y1="350" x2="54" y2="350" stroke="red" id="2031"/>
[INFO] [stdout] <line x1="38" y1="334" x2="0.001" y2="334" stroke="red" id="2032"/>
[INFO] [stdout] <path d="M 0.0013199999999679995 365.9999999968 A 41.0000000025 41.0000000025 0 1 0 -0.00031999999996799964 365.9999999968" stroke="red" id="1213"/>
[INFO] [stdout] <line x1="0" y1="334" x2="-52" y2="334" stroke="red" id="2033"/>
[INFO] [stdout] <line x1="-65.51759312377999" y1="358.56006285841033" x2="-36.94721435930009" y2="403.67687589104787" stroke="red" id="2034"/>
[INFO] [stdout] <path d="M 66 450 A 50.999999999999986 50.999999999999986 0 0 0 -14.252398253903355 408.2232457412614" stroke="red" id="1216"/>
[INFO] [stdout] <line x1="82" y1="434" x2="50" y2="434" stroke="red" id="2035"/>
[INFO] [stdout] <path d="M 66 450 A 51 51 0 0 0 -36 450" stroke="red" id="1218"/>
[INFO] [stdout] <line x1="-34.855627054164145" y1="455.94225082166565" x2="-14.855627054164149" y2="505.94225082166565" stroke="red" id="2036"/>
[INFO] [stdout] <line x1="0" y1="516" x2="100" y2="516" stroke="red" id="2037"/>
[INFO] [stdout] <path d="M 116.68629150101523 419.31370849898474 A 16 16 0 0 0 144 408" stroke="blue" id="101203"/>
[INFO] [stdout] <path d="M 124.68629150101523 414.31370849898474 A 16 16 0 0 0 152 403" stroke="blue" id="101205"/>
[INFO] [stdout] <path d="M 152 355 A 16 16 0 0 0 124.68629150101523 343.68629150101526" stroke="blue" id="101206"/>
[INFO] [stdout] <path d="M 142.31370849898477 361.31370849898474 A 16 16 0 0 0 131 334" stroke="blue" id="101207"/>
[INFO] [stdout] <path d="M 110 334 A 16 16 0 0 0 94 350" stroke="blue" id="101208"/>
[INFO] [stdout] <path d="M 94 350 A 16 16 0 0 0 78 334" stroke="blue" id="101209"/>
[INFO] [stdout] <path d="M 50 334 A 16 16 0 0 0 34 350" stroke="blue" id="101210"/>
[INFO] [stdout] <path d="M 54 350 A 16 16 0 0 0 38 334" stroke="blue" id="101211"/>
[INFO] [stdout] <path d="M -52 334 A 16 16 0 0 0 -65.51759312377999 358.56006285841033" stroke="blue" id="101214"/>
[INFO] [stdout] <path d="M -36.94721435930009 403.67687589104787 A 16 16 0 0 0 -14.252398253903355 408.2232457412614" stroke="blue" id="101215"/>
[INFO] [stdout] <path d="M -36 450 A 16 16 0 0 0 -34.855627054164145 455.94225082166565" stroke="blue" id="101218"/>
[INFO] [stdout] <path d="M -14.855627054164149 505.94225082166565 A 16 16 0 0 0 0 516" stroke="blue" id="101219"/>
[INFO] [stdout] </svg>
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_line_offset_diagonal ... ok
[INFO] [stdout] test offset::test_offset::test_offset_pline1_polyline ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_line_offset_horizontal ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_line_offset_simple_horizontal ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_line_offset_vertical ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_negative_bulge_offset_side_bug ... ignored, synthetic test - real bulge comes from polyline/arcline connectivity, not manual parameter
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_new ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_positive_vs_negative_bulge_arc_offset_direction ... ignored, synthetic test - real bulge comes from polyline/arcline connectivity, not manual parameter
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw::test_offset_connect_segments_02 ... ignored, svg output
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw::test_offset_connect_segments_arcs_00_svg ... ignored, svg output
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw::test_offset_connect_segments_03 ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw::test_offset_connect_segments_arcs_01 ... ignored, svg output
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw::test_offset_connect_segments_lines_01 ... ignored, svg output
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_all_g_value_combinations ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_arc_segments ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_concave_vs_convex_angles ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_disconnected_segments ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_empty_input ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_id_assignment ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_large_offset ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_negative_offset ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_realistic_curved_segments_with_gaps ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_realistic_large_gaps ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_realistic_offset_gaps_corner ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_merge_small_gaps_1e_7 ... ok
[INFO] [stdout] test graph::cycle_detection_comprehensive_tests::comprehensive_cycle_tests::test_rightmost_turn_rule_at_vertex_degree_3 ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_realistic_offset_gaps_straight ... ok
[INFO] [stdout] test offset::test_arcs_to_polylines::test_arcs_to_polylines_single_mixed_orientation ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_single_element ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_square_path ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_triangle_path ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_two_line_segments_mixed_g ... ok
[INFO] [stdout] <svg viewBox="0 0 200 300" xmlns="http://www.w3.org/2000/svg" fill="none" stroke-width="0.2" stroke-linecap="round">
[INFO] [stdout] <rect width="100%" height="100%" fill="#ffffffff" />
[INFO] [stdout] 
[INFO] [stdout] <path d="M 29.177446878757827 50 A 101 101 0 0 0 -65.1456578571719 88.53721836231992" stroke="grey" id="1725"/>
[INFO] [stdout] <path d="M 0.8225531212421746 50 A 101 101 0 1 0 29.177446878757827 50" stroke="grey" id="1726"/>
[INFO] [stdout] <path d="M 0.8225531212421746 50 A 101 101 0 0 0 -65.1456578571719 88.53721836231992" stroke="blue" id="1726"/>
[INFO] [stdout] <circle cx="0.8225531212421746" cy="50" r="1.1" stroke="red" />
[INFO] [stdout] <circle cx="-65.1456578571719" cy="88.53721836231992" r="1.1" stroke="red" />
[INFO] [stdout] <path d="M -65.1456578571719 88.53721836231992 A 101 101 0 1 0 29.177446878757827 50" stroke="blue" id="1725"/>
[INFO] [stdout] <circle cx="-65.1456578571719" cy="88.53721836231992" r="1.1" stroke="red" />
[INFO] [stdout] <circle cx="29.177446878757827" cy="50" r="1.1" stroke="red" />
[INFO] [stdout] <path d="M 29.177446878757827 50 A 101 101 0 0 0 0.8225531212421746 50" stroke="blue" id="1726"/>
[INFO] [stdout] <circle cx="29.177446878757827" cy="50" r="1.1" stroke="red" />
[INFO] [stdout] <circle cx="0.8225531212421746" cy="50" r="1.1" stroke="red" />
[INFO] [stdout] </svg>
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_two_line_segments_negative_g ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_two_line_segments_positive_g ... ok
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_very_small_segments ... ok
[INFO] [stdout] <svg viewBox="0 0 200 100" xmlns="http://www.w3.org/2000/svg" fill="none" stroke-width="0.2" stroke-linecap="round">
[INFO] [stdout] <rect width="100%" height="100%" fill="#ffffffff" />
[INFO] [stdout] 
[INFO] [stdout] <line x1="50" y1="50" x2="150" y2="50" stroke="grey" id="2897"/>
[INFO] [stdout] <line x1="100" y1="50" x2="200" y2="50" stroke="grey" id="2898"/>
[INFO] [stdout] <line x1="50" y1="50" x2="100" y2="50" stroke="blue" id="2900"/>
[INFO] [stdout] <circle cx="50" cy="50" r="1.1" stroke="red" />
[INFO] [stdout] <circle cx="100" cy="50" r="1.1" stroke="red" />
[INFO] [stdout] <line x1="100" y1="50" x2="150" y2="50" stroke="blue" id="2902"/>
[INFO] [stdout] <circle cx="100" cy="50" r="1.1" stroke="red" />
[INFO] [stdout] <circle cx="150" cy="50" r="1.1" stroke="red" />
[INFO] [stdout] <line x1="150" y1="50" x2="200" y2="50" stroke="blue" id="2904"/>
[INFO] [stdout] <circle cx="150" cy="50" r="1.1" stroke="red" />
[INFO] [stdout] <circle cx="200" cy="50" r="1.1" stroke="red" />
[INFO] [stdout] </svg>
[INFO] [stdout] test offset_connect_raw::test_offset_connect_raw_single::test_zero_offset ... ok
[INFO] [stdout] test offset_reconnect_arcs::integration_tests::test_offset_reconnect_integration ... ok
[INFO] [stdout] test offset_reconnect_arcs::integration_tests::test_offset_reconnect_mixed_arcs_and_segments ... ok
[INFO] [stdout] test offset_reconnect_arcs::integration_tests::test_offset_reconnect_with_actual_curved_arcs ... ok
[INFO] [stdout] test offset_reconnect_arcs::integration_tests::test_offset_reconnect_with_arcs ... ok
[INFO] [stdout] test offset_split_arcs::test_offset_split_arcs::test_arc_arc_01 ... ok
[INFO] [stdout] test offset_split_arcs::test_offset_split_arcs::test_arc_arc_02 ... ok
[INFO] [stdout] <svg viewBox="0 0 200 300" xmlns="http://www.w3.org/2000/svg" fill="none" stroke-width="0.2" stroke-linecap="round">
[INFO] [stdout] <rect width="100%" height="100%" fill="#ffffffff" />
[INFO] [stdout] 
[INFO] [stdout] <path d="M 51.53846153846153 53.69230769230768 A 126 126 0 0 0 -23.494939167562663 195" stroke="grey" id="1733"/>
[INFO] [stdout] <line x1="-25.599999999999994" y1="300.8" x2="-25.599999999999994" y2="149.2" stroke="grey" id="2899"/>
[INFO] [stdout] <line x1="-25.599999999999994" y1="300.8" x2="-25.599999999999994" y2="180.03194896318772" stroke="blue" id="2901"/>
[INFO] [stdout] <circle cx="-25.599999999999994" cy="300.8" r="1.1" stroke="red" />
[INFO] [stdout] <circle cx="-25.599999999999994" cy="180.03194896318772" r="1.1" stroke="red" />
[INFO] [stdout] <line x1="-25.599999999999994" y1="180.03194896318772" x2="-25.599999999999994" y2="159.96805103681228" stroke="blue" id="2903"/>
[INFO] [stdout] <circle cx="-25.599999999999994" cy="180.03194896318772" r="1.1" stroke="red" />
[INFO] [stdout] <circle cx="-25.599999999999994" cy="159.96805103681228" r="1.1" stroke="red" />
[INFO] [stdout] <line x1="-25.599999999999994" y1="159.96805103681228" x2="-25.599999999999994" y2="149.2" stroke="blue" id="2905"/>
[INFO] [stdout] <circle cx="-25.599999999999994" cy="159.96805103681228" r="1.1" stroke="red" />
[INFO] [stdout] <circle cx="-25.599999999999994" cy="149.2" r="1.1" stroke="red" />
[INFO] [stdout] <path d="M 51.53846153846153 53.69230769230768 A 126 126 0 0 0 -25.599999999999994 159.96805103681228" stroke="blue" id="1733"/>
[INFO] [stdout] <circle cx="51.53846153846153" cy="53.69230769230768" r="1.1" stroke="red" />
[INFO] [stdout] <circle cx="-25.599999999999994" cy="159.96805103681228" r="1.1" stroke="red" />
[INFO] [stdout] <path d="M -25.599999999999994 159.96805103681228 A 126 126 0 0 0 -25.599999999999994 180.03194896318772" stroke="blue" id="1733"/>
[INFO] [stdout] <circle cx="-25.599999999999994" cy="159.96805103681228" r="1.1" stroke="red" />
[INFO] [stdout] <circle cx="-25.599999999999994" cy="180.03194896318772" r="1.1" stroke="red" />
[INFO] [stdout] <path d="M -25.599999999999994 180.03194896318772 A 126 126 0 0 0 -23.494939167562663 195" stroke="blue" id="1733"/>
[INFO] [stdout] <circle cx="-25.599999999999994" cy="180.03194896318772" r="1.1" stroke="red" />
[INFO] [stdout] <circle cx="-23.494939167562663" cy="195" r="1.1" stroke="red" />
[INFO] [stdout] </svg>
[INFO] [stdout] test offset_split_arcs::test_offset_split_arcs::test_arc_arc_03 ... ok
[INFO] [stdout] test offset_split_arcs::test_offset_split_arcs::test_cocircular_issue_91 ... ok
[INFO] [stdout] test offsetraw::tests::test_offsetraw ... ok
[INFO] [stdout] test tests::test_lib ... ok
[INFO] [stdout] test offset_split_arcs::test_offset_split_arcs::test_split_segment_arc_issue_01 ... ok
[INFO] [stdout] test offset_split_arcs::test_offset_split_arcs::test_overlaping_lines ... ok
[INFO] [stdout] test offset_arcs_raw::test_offset_polyline_raw::test_offset_polyline_raw02 ... ok
[INFO] [stdout] test offset::test_offset::test_offset_multi_polyline ... ok
[INFO] [stderr]    Doc-tests offroad
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 124 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 0.53s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test src/lib.rs - (line 7) ... ok
[INFO] [stdout] test src/offset.rs - offset::offset_polyline_to_polyline (line 73) ... ok
[INFO] [stdout] test src/offset.rs - offset::offset_arcline_to_arcline (line 158) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.47s; merged doctests compilation took 0.45s
[INFO] running `Command { std: "docker" "inspect" "6028da9e2ce7f60679875cd42f7f74b2b5150c42440a38bcc739cee233d2e774", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6028da9e2ce7f60679875cd42f7f74b2b5150c42440a38bcc739cee233d2e774", kill_on_drop: false }`
[INFO] [stdout] 6028da9e2ce7f60679875cd42f7f74b2b5150c42440a38bcc739cee233d2e774
